package jgrouse.jgdoc.api;

import java.util.List;
import java.util.Set;

import jgrouse.jgdoc.Vocabulary;

public interface ICommentTag
{

	public Vocabulary getTagType();

	public String getType();

	public String getName();
	public void setName(String pName);

	public List<ILink> collectLinks(List<ILink> pList);
	
	public ILink getNameLink();
	
	public Set<String> getModifiers();
	
	public String getStrModifiers();
	
	public boolean hasModifier(String pModifier);
	
	public List<ICommentTag> getChildren();
	
	public IContent getContent();
	
	public IContent getTypeLink();
	
	public void addChild(ICommentTag pChild);
	
	public void setContent(IContent pContent);
	
	public void resetPrivateModifier(String pPrivatePrefix);
	
	public String toString(boolean renderChildren);
}